//
// Created by Administrator on 2020\4\16 0016.
//

#ifndef _TCL_DUALCAM_DEF_H_
#define _TCL_DUALCAM_DEF_H_

#include <stdint.h>

#ifdef __cplusplus
extern "C" {
#endif

#define		TCL_PAF_NV12	0x100
#define		TCL_PAF_NV21	0x101
#define		TCL_PAF_YV12	0x102
#define		TCL_PAF_YU12	0x103

typedef struct RECT
{
    int32_t left;
    int32_t top;
    int32_t right;
    int32_t bottom;
} *LPRECT;

typedef struct POINT
{
    int32_t x;
    int32_t y;
} *LPOINT;

typedef struct TCL_FACE_PARAM
{
    LPRECT  pFaces;
    int32_t i32FacesNum;
} TCL_FACE_PARAM;

typedef struct CAMERA_PARAM
{
    int32_t i32MainWidth_CropNoScale;         	// [in]  Width of main image without scale.
    int32_t i32MainHeight_CropNoScale;        	// [in]  Height of main image without scale.
    int32_t i32AuxWidth_CropNoScale;          	// [in]  Width of auxiliary image without scale.
    int32_t i32AuxHeight_CropNoScale;         	// [in]  Height of auxiliary image without scale.
    int32_t i32ImageDegree;                   	// [in]  Image degree:0,90,180,270
} TCL_CAMERA_PARAM, *LPTCL_CAMERA_PARAM;

typedef struct IMAGE_PARAM
{
    uint32_t u32PixelArrayFormat;
    int32_t  i32Width;
    int32_t  i32Height;
    uint8_t* ppu8Plane[4];
    int32_t	 pi32Pitch[4];
} TCL_IMAGE, *LPTCL_IMAGE;

typedef struct REFOCUS_PARAM
{
    bool    bIsBokeh;
    int32_t i32BlurIntensity;
    POINT   pointFocus;
    uint32_t u32UseForeGround;
} TCL_REFOCUS_PARAM, *LPREFOCUS_PARAM;

#ifdef __cplusplus
}
#endif

#endif//_TCL_DUALCAM_DEF_H_
